As restricted by physical conditions, wireless links bring a low transmission rate and a high bit error rate when compared with wired links. When the IP protocol technology is applied to a wireless network cell environment, the packet header overhead is too large. For example, for an IPv6 voice communication packet, the packet payload actually required by a user is generally only 22% of the whole packet, thereby leading to a waste of bandwidth, and increasing the probability of discarding the packet due to errors of the packet. If no effective measure is taken, the quality of service of the user will be reduced while the precious wireless network resources are wasted.
A header compression mechanism may be adopted to solve such a problem, and may ensure the inherent flexibility of an IP protocol. The header compression mechanism may include: ROHC (Robust Header Compression), CRTP (Real-time Transport Protocol Header Compression) mechanism, ECRTP (Extended RTP Header Compression) mechanism and the like.
Taking the ROHC as an example, the ROHC is a stream-based header compression scheme. In the data transmission process of a network, most header fields in packets of the same stream have the same field value. The ROHC mechanism uses a packet in a certain stream as a reference packet. For other packets, only the changed information relative to the reference packet in the header field is sent, so as to accomplish the purpose of compression, save packet header overhead, and utilize bandwidth more efficiently.
To perform communication in a wireless network through an ROHC mechanism, an ROHC channel needs to be set up. The ROHC channel is a logical channel. In the logical channel, the ingress is a compressor, and the egress is a decompressor. The compressor is in a one-to-one correspondence with the decompressor. The compressor performs header compression for the original data, and then sends the data to the decompressor through the logical channel. The ROHC channel is a unidirectional logical channel. Meanwhile, to support bidirectional compression, the decompressor needs to provide feedback information for the compressor. Therefore, the ROHC feedback channel is a logical channel that bears the feedback information, the ingress is a decompressor, and the egress is a compressor.
The ROHC header compression mechanism may be briefly described as interaction between two state machines (a compression state machine, and a decompression state machine). Each of the two state machines has three different states. The two state machines start from the lowest compression state, and change to higher compression states gradually. The state transition mode of the compressor is shown in FIG. 1, and the state transition mode of the decompressor is shown in FIG. 2.
As shown in FIG. 1, the ROHC compressor includes three states: IR (Initial and Refresh), FO (First Order), and SO (Second Order). The initial state is an IR state. In this case, the decompressor almost has no static or dynamic information required for decompression. The ROHC compressor sends an IR or IR-DYM packet, which includes the static information (source IP address, destination IP address) in the data packet header and some dynamic information (SN sequence number, Timestamp and the like). An IR packet includes both the static information and the dynamic information, but an IR-DYM packet may include only the dynamic information. When the decompressor obtains the static information and a part of dynamic information, the compressor is in the FO state. When the decompressor obtains all static information and dynamic information, the compressor gets into the SO state, and the data of the packet header is compressed to the minimum.
As shown in FIG. 2, an ROHC decompressor includes three states: NC (No Context), SC (Static Context), and FC (Full Context). The NC is an initial state of the decompressor. In this case, the decompressor receives no packet, and has no information required for decompression. SC means that the decompressor has obtained all statistic decompression information and a part of dynamic decompression information; and FC means that the decompressor has obtained all static and dynamic decompression information.
The Context (context) information of the ROHC is divided into two different types: static Context information and dynamic Context information. The static Context information scarcely changes, and does not need to be transmitted by the compressor any more once the information is received by the receiver correctly. The dynamic context information is variable. The dynamic Context information in the existing IP packet header is mainly an SN, a timestamp, and an IP-id.
If a packet that includes the static Context information update is erroneous or lost, all subsequent packets will fail to obtain the static Context information, and plenty of subsequent header decompression will fail; if a certain number of packets are lost continuously, the dynamic Context information cannot be parsed from subsequent packets, and the failure of header decompression will be caused.
ARQ (auto repeat request) is a technology of recovering erroneous packets, in which the receiver requests the sender to retransmit the erroneous packets. ARQ is one of the methods of handling errors brought by the channels.
The ARQ includes three modes: stop-and-wait (stop-and-wait), go back for n frames (go-back-n) ARQ, selective repeat (selective repeat) ARQ, and hybrid ARQ (HARQ). The difference between them lies in different mechanism of processing erroneous packets.
The HARQ system introduces FEC (Forward Error Correction) into an ARQ system. The FEC may be used to correct data errors in the transmission process. That is, if an error is within the error correction scope of the FEC, the FEC corrects the error; if an error is beyond the error correction scope of the FEC, the receiver instructs the sender to retransmit part or all of the information of the erroneous packet, and then the receiver combines the packet information received again with the previously received packet information to recover the packet information.
The ROHC mechanism can be used to save the wireless network resource and improve the quality of service. However, because the existing ROHC mechanism handles the erroneous packet by discarding the packets directly without further processing, when the packet error rate reaches a certain level, the state retreats, the context information is updated, and the decompression state is synchronized again. When the wireless link state is inferior, the state retreats frequently, resulting in drastic decrease of the compression rate. However, the automatic retransmission mechanism can improve correction and reliability of sending packets.
In some wireless transmission systems in the prior art such as IEEE (Institute of Electrical and Electronics Engineers) 16m and LTE (Long Term Evolution) system, although the ROHC mechanism and the automatic retransmission mechanism are applied simultaneously, the ROHC mechanism and the automatic retransmission mechanism are applied as two relatively independent technologies, and the feature of correlation between the ROHC mechanism and the automatic retransmission mechanism is not used to enhance the system performance.